.card {
  display: flex;
  flex-direction: column;
  position: relative;
  min-width: 0;
  height: auto;
  word-wrap: break-word;
  background-color: $card_bg;
  background-clip: border-box;
  border-radius: $card_border_radius;
  overflow: hidden;
}

.card-content {
  width: 100%;
  flex: 1 1 auto;
  padding: $card_spacer_y $card_spacer_x;
  color: $card_color;
}

.card-header,
.card-footer {
  flex: 1 1 auto;
  padding: $card_spacer_section_y $card_spacer_section_x;
  background: $card_section_bg;
}

.card-header {
  margin-bottom: 0;
  border-bottom: $card_border_width solid $card_border_color;
}
.card-footer {
  border-top: $card_border_width solid $card_border_color;
}

.card-img,
.card-img-top,
.card-img-bottom {
  display: block;
  width: 100%;
  max-width: 100%;
  object-fit: cover;
}

.card-img {
  @include border_radius_all($card_border_radius);
}

.card-img-top {
  @include border_top_radius($card_border_radius);
}

.card-img-bottom {
  @include border_bottom_radius($card_border_radius);
}

.card-title {
  margin-bottom: $card_title_spacer;
}

.card-subtitle {
  margin-top: -#{$card_title_spacer} / 2;
  margin-bottom: $card_title_spacer;
}

.card-text {
  margin-bottom: $card_spacer_y;

  &:last-child {
    margin-bottom: 0;
  }
}
